package com.endbd.warehouse.service;

import com.endbd.feignapi.model.system.City;
import com.endbd.feignapi.model.system.Province;
import com.endbd.feignapi.model.system.User;
import com.endbd.feignapi.model.warehouse.CkWarehouse;
import com.endbd.feignapi.model.warehouse.KcWarehouse;
import com.endbd.feignapi.model.warehouse.RkWarehouse;
import com.endbd.feignapi.model.warehouse.Warehouse;
import com.endbd.feignapi.util.PageModel;
import com.endbd.warehouse.model.*;

import java.util.List;

public interface IManageService {
    public PageModel<Warehouse> queryWarehouses(WarehouseCondition wc,PageModel<Warehouse> pageModel);

    //    查询一条仓库记录
    public Warehouse queryWarehouse(WarehouseCondition wc);
    //    查询所有省份
    public List<Province> queryProvinces(ProvinceCondition pc);
    //    查询所有城市
    public List<City> queryCitys(CityCondition cc);

    //    修改仓库记录的状态
    public int changeState(String id);

    //    恢复仓库记录状态
    public int recoverState(String id);

    //    修改提交仓库记录
    public int updateWarehouse(Warehouse wh);

    // 查询财务部的仓库管理员
    public List<User> queryUsers(UserCondition uc);

    //    增加一条仓库记录
    public int insertone(Warehouse w);

    /**
     * 仓库浏览
     */
    //    查看所有记录
    public PageModel<Warehouse> querys(WarehouseCondition wc,PageModel<Warehouse> pageModel);

    /**
     *入库管理
     */
//    查询入库所有记录
    public PageModel<RkWarehouse> queryRK(RKCondition rkc,PageModel<RkWarehouse> pageModel);

//    修改状态
    public int updateRKState(String id,String state);

    /**
     * 出库管理
     * @param ckc
     * @param pageModel
     * @return
     */
//    查询所有出库数据
    public PageModel<CkWarehouse> queryCK(CKCondition ckc, PageModel<CkWarehouse> pageModel);

    //    修改出库信息的状态
    public int updateCKState(String id,String state);

    //    添加出库单
    public int addCK(CkWarehouse ckw);
    //    添加入库单
    public int addRK(RkWarehouse rkw);


    /**
     * 库存管理
     */
//    查询库存信息
    public PageModel<KcWarehouse> querymanages(KCCondition kcc, PageModel<KcWarehouse> pageModel);

//    查询所有仓库信息
    public List<Warehouse> queryAll(WarehouseCondition wc);

//    修改库存量
    public int changRk2(IDCondition idc);
}
